home *** CD-ROM | disk | FTP | other *** search
/ Music Mentor (Maestro Edition) / Music Mentor - Maestro Edition.iso / setup.mst < prev    next >
Text File  |  1994-09-16  |  19KB  |  619 lines

  1. '**************************************************************************
  2. '*                       Presentation Partner CD-ROM Setup
  3. '*                       Started 5/3/94 Tim Swetonic
  4. '*                       originally adapted from the Music Mentor
  5. '*                       CD-ROM Edition Setup
  6. '*
  7. '*
  8. '* Changes:
  9. '* 1\10\93
  10. '* Bitmap fills screen for 800x600 and greater, title bar and border is on background bitmap,
  11. '* checks if directory is already present, checks for enough hard drive space.
  12. '*
  13. '**************************************************************************
  14.  
  15. '$DEFINE PRESPART
  16.  
  17. '$INCLUDE 'setupapi.inc'
  18. '$INCLUDE 'msdetect.inc'
  19.  
  20. DECLARE FUNCTION ShowWindow  LIB "user.exe" (hWnd%,iShow%) AS INTEGER
  21. DECLARE FUNCTION SetWindowLong LIB "user.exe" (hWnd%, offset%, style&) AS LONG
  22. DECLARE FUNCTION GetWindowLong LIB "user.exe" (hWnd%, offset%) AS LONG
  23. DECLARE FUNCTION WinExec LIB "krnl386.exe" (commandLine$, iShow%) AS INTEGER
  24. Declare Function FindWindow Lib "User" (lpClassName$, lpWindowName$) As Integer
  25. Declare Sub SetWindowPos Lib "User" (hWnd As Integer, hWndInsertAfter As Integer, X As Integer, Y As Integer, cx As Integer, cy As Integer, wFlags As Integer)
  26. Declare Function WritePrivateProfileString Lib "krnl386.exe" (lpApplicationName$, lpKeyName$, lpString$, lplFileName$) As Integer
  27. Declare Function SendMessage Lib "User" (hWnd As Long, wMsg As Integer, wParam As Integer, lParam As Any) As Long
  28. Declare Function AddFontResource Lib "GDI" (lpFilename As String) As Integer
  29. Declare Function GetDC Lib "User" (hWnd As Integer) As Integer
  30.  
  31.  
  32. 'Declare Sub DrawBitmap Lib "DRAWBMP.DLL" (hWnd As Integer, bitmapName As String)
  33.  
  34.  
  35. ''Dialog ID's
  36.  
  37. CONST WELCOME        = 100
  38. CONST WELCOMEX       = 150
  39. CONST ASKQUIT        = 200
  40. CONST ASKQUITX       = 250
  41. CONST DESTPATH1       = 300
  42. CONST DESTPATH1X      = 350
  43. CONST DESTPATH2      = 6401
  44. CONST DESTPATH2X     = 6451
  45. CONST EXITFAILURE    = 400
  46. CONST EXITFAILUREX   = 450
  47. CONST EXITQUIT       = 600
  48. CONST EXITQUITX      = 650
  49. CONST EXITSUCCESS    = 700
  50. CONST EXITSUCCESSX   = 750
  51. CONST APPHELP        = 900
  52. CONST APPHELPX       = 950
  53. CONST ALREADYEXISTS  = 1000
  54. CONST ALREADYEXISTSX = 1050
  55. CONST TOOBIG         = 6300
  56. CONST TOOBIGX        = 6350
  57. CONST BADPATH        = 6400
  58. CONST BADPATHX       = 6450
  59. CONST INFO1          = 109
  60.  
  61. CONST INFO2          = 6455
  62. CONST INFO2X         = 6455
  63. CONST INSTALLVFW     = 108
  64.  
  65. 'CONST INFO3X         = 6457
  66. 'CONST INFO3          = 6458
  67.  
  68. CONST HDSPACE        = 8000000
  69.  
  70. CONST WS_VISIBLE = &H10000000
  71. CONST WS_CLIPCHILDREN = &H2000000
  72. CONST WS_BORDER = &H800000
  73. CONST SW_SHOWMAXIMIZED = 3
  74. CONST SW_SHOWNORMAL = 1
  75. CONST GWL_STYLE =-16
  76. CONST SWP_SHOWWINDOW = &H40
  77. CONST WM_PAINT = &HF
  78. CONST WM_ERASEBKGND = &H14
  79.  
  80. CONST HWND_BROADCAST = &HFFFF
  81. CONST WM_FONTCHANGE = &H1D
  82.  
  83. CONST TITLE = "Midisoft« Music Mentor Maestro Edition Setup"
  84.  
  85.  
  86. CONST LOGO1 = 1
  87. CONST LOGO2 = 1
  88.  
  89. 'GLOBAL SrcDir$
  90. GLOBAL DEST$        ''Default destination directory.
  91. GLOBAL SESDEST$     ''Default Session directory.
  92. GLOBAL RUNDEST$     ''Default Runtime subdirectory.
  93. GLOBAL OPTCUR$      ''Option selection from option dialog.
  94. GLOBAL SCRWID%
  95. GLOBAL PRESPARTDIR$
  96. GLOBAL CUIDLL$
  97. GLOBAL hdList$
  98. GLOBAL hwndBackground As Integer
  99. GLOBAL drawBMPExists
  100. DECLARE SUB Install
  101. DECLARE SUB CheckInstallVFW
  102. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  103. DECLARE SUB CreateProgGroup
  104. DECLARE SUB ShowBackground(hwnd%)
  105. INIT:
  106.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  107.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  108.  
  109.     aboutStr1$ = "Midisoft« Music Mentor Maestro Edition" + Chr$(13)
  110.     aboutStr1$ = aboutStr1$ + "Copyright (c) 1994" + Chr$(13)
  111.     aboutStr2$ = "Beta version" + Chr$(13)
  112.     aboutStr2$ = aboutStr2$ + "September 16, 1994" + Chr$(13)
  113.  
  114.     'winSysDir$ = GetWindowsSysDir()
  115.     'winDir$ = GetWindowsDir()
  116.     'SrcDir$ = GetSymbolValue("STF_SRCDIR")
  117.  
  118.     'If EXISTS(winSysDir$ + "\drawbmp.dll") then
  119.         'KILL(winSysDir$ + "drawbmp.dll")
  120.     '    CopyFile SrcDir$ + "drawbmp.dll", winSysDir$ + "drawbmp.dll", cmoOverwrite, 0
  121.     '    drawBMPExists = TRUE
  122.     'else
  123.     '    CopyFile SrcDir$ + "drawbmp.dll", winSysDir$ + "drawbmp.dll", cmoOverwrite, 0
  124.     '    drawBMPExists = FALSE
  125.     'end if
  126.  
  127.     mainWnd%=HwndFrame()
  128.     curLong& = GetWindowLong (mainWnd%, GWL_STYLE)                        'Creates window with
  129.     curLong& = curLong& OR (WS_BORDER OR WS_CLIPCHILDREN OR WS_CAPTION)   'title bar (Note: using
  130.     w&=SetWindowLong (mainWnd%, GWL_STYLE, curLong&)                      'HT video drivers icon
  131.                                                                           'on one screen is corrupt)
  132.  
  133.  
  134.     'Set text shown in the About dialog, selected from the system menu
  135.     SetAbout aboutStr1$, aboutStr2$
  136.     'w&=SetWindowLong(mainWnd%,GWL_STYLE,WS_VISIBLE+WS_BORDER+WS_CLIPCHILDREN)
  137.     j%=ShowWindow(mainWnd%,SW_SHOWMAXIMIZED)
  138.  
  139.     'GetLocalHardDrivesList hdList$
  140.     'listStr$ = GetListItem(hdList$, 1)
  141.  
  142.     SCRWID% = GetScreenWidth()
  143.         'IF SCRWID% = 640 THEN
  144.         '    SetBitmap CUIDLL$, LOGO1
  145.         'ELSE
  146.         '    SetBitmap CUIDLL$, LOGO2
  147.         'END IF
  148.  
  149.     SetTitle TITLE
  150.  
  151.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  152.     IF szInf$ = "" THEN
  153.         szInf$ = GetSymbolValue("STF_CWDDIR") + "SETUP.INF"
  154.     END IF
  155.     ReadInfFile szInf$
  156.  
  157.     OPTCUR$ = "1"
  158.     DEST$ = "C:\MAESTRO"
  159.     'SESDEST$ = "C:\SESSION"
  160.  
  161. WELCOME:
  162.     IF scrwid% = 640 THEN
  163.         sz$ = UIStartDlg(CUIDLL$, WELCOMEX, "FInfoDlgProc", APPHELP, HELPPROC$)
  164.         ShowBackground hwndBackground
  165.     ELSE
  166.         sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  167.         ShowBackground hwndBackground
  168.     END IF
  169.     ShowBackground hwndBackground
  170.     IF sz$ = "CONTINUE" THEN
  171.         UIPop 1
  172.     ELSE
  173.         GOSUB ASKQUIT
  174.         GOTO WELCOME
  175.     END IF
  176.  
  177.  
  178.  
  179. GETPATH:
  180.     SetSymbolValue "EditTextIn", DEST$
  181.     SetSymbolValue "EditFocus", "END"
  182. GETPATHL1:
  183.  
  184.     IF scrwid% = 640 THEN
  185.         sz$ = UIStartDlg(CUIDLL$, DESTPATH1X, "FEditDlgProc", APPHELP, HELPPROC$)
  186.     ELSE
  187.         sz$ = UIStartDlg(CUIDLL$, DESTPATH1, "FEditDlgProc", APPHELP, HELPPROC$)
  188.     END IF
  189.  
  190.  
  191.     DEST$ = GetSymbolValue("EditTextOut")
  192.  
  193.     IF sz$ = "CONTINUE" THEN
  194.         IF IsDirWritable(DEST$) = 0 THEN
  195.             GOSUB BADPATH
  196.             GOTO GETPATHL1
  197.         END IF
  198.         UIPop 1
  199.     ELSEIF sz$ = "REACTIVATE" THEN
  200.         GOTO GETPATHL1
  201.     ELSEIF sz$ = "BACK" THEN
  202.         UIPop 1
  203.         GOTO WELCOME
  204.     ELSE
  205.         GOSUB ASKQUIT
  206.         GOTO GETPATH
  207.     END IF
  208.  
  209.             'Check if directory exists
  210.     IF DoesDirExist(DEST$) THEN
  211.         UIPop 1
  212.  
  213.         IF SCRWID% = 640 THEN
  214.             sz$ = UIStartDlg(CUIDLL$, ALREADYEXISTSX, "FInfoDlgProc", 0, "")
  215.         ELSE
  216.             sz$ = UIStartDlg(CUIDLL$, ALREADYEXISTS, "FInfoDlgProc", 0, "")
  217.         END IF 'Screen resolution
  218.  
  219.         IF sz$ = "CONTINUE" THEN
  220.                 UIPop 1
  221.  
  222.         ELSEIF sz$ = "REACTIVATE" THEN
  223.             UIPop 1
  224.             GOTO GETPATHL1
  225.  
  226.         ELSEIF sz$ = "BACK" THEN
  227.             UIPop 1
  228.             GOTO GETPATHL1
  229.  
  230.         ELSE
  231.             UIPop 1
  232.             GOSUB ASKQUIT
  233.             GOTO GETPATH
  234.         END IF  'User responses for already exists dialog
  235.  
  236.     END IF  'If directory already exists
  237.  
  238.     checkdltr$ = mid$(DEST$, 1, 1)
  239.     checkdspc& = GetFreeSpaceForDrive(checkdltr$)
  240.     IF checkdspc& < HDSPACE THEN
  241.         IF scrwid% = 640 THEN
  242.             sz$ = UIStartDlg(CUIDLL$, TOOBIGX, "FInfoDlgProc", APPHELP, HELPPROC$)
  243.         ELSE
  244.             sz$ = UIStartDlg(CUIDLL$, TOOBIG, "FInfoDlgProc", APPHELP, HELPPROC$)
  245.         END IF
  246.  
  247.  
  248.         ERROR STFQUIT
  249.         GOTO QUIT
  250.     END IF
  251.  
  252. '$IFNDEF PRESPART
  253. GETPATH2:
  254.     SetSymbolValue "EditTextIn", SESDEST$
  255.     SetSymbolValue "EditFocus", "END"
  256. GETPATHL2:
  257.  
  258.     IF scrwid% = 640 THEN
  259.         sz$ = UIStartDlg(CUIDLL$, DESTPATH2X, "FEditDlgProc", APPHELP, HELPPROC$)
  260.     ELSE
  261.         sz$ = UIStartDlg(CUIDLL$, DESTPATH2, "FEditDlgProc", APPHELP, HELPPROC$)
  262.     END IF
  263.  
  264.  
  265.     SESDEST$ = GetSymbolValue("EditTextOut")
  266.  
  267.     IF sz$ = "CONTINUE" THEN
  268.         IF IsDirWritable(SESDEST$) = 0 THEN
  269.             GOSUB BADPATH
  270.             GOTO GETPATHL2
  271.         END IF
  272.         UIPop 1
  273.     ELSEIF sz$ = "REACTIVATE" THEN
  274.         GOTO GETPATHL2
  275.     ELSEIF sz$ = "BACK" THEN
  276.         UIPop 1
  277.  
  278.         GOTO GETPATH
  279.     ELSE
  280.         GOSUB ASKQUIT
  281.         GOTO GETPATH2
  282.     END IF
  283.  
  284.               'Check if directory exists
  285.     IF DoesDirExist(SESDEST$) THEN
  286.         UIPop 1
  287.  
  288.         IF SCRWID% = 640 THEN
  289.             sz$ = UIStartDlg(CUIDLL$, ALREADYEXISTSX, "FInfoDlgProc", 0, "")
  290.         ELSE
  291.             sz$ = UIStartDlg(CUIDLL$, ALREADYEXISTS, "FInfoDlgProc", 0, "")
  292.         END IF 'Screen resolution
  293.  
  294.         IF sz$ = "CONTINUE" THEN
  295.             UIPop 1
  296.  
  297.         ELSEIF sz$ = "REACTIVATE" THEN
  298.             UIPop 1
  299.             GOTO GETPATHL2
  300.  
  301.         ELSEIF sz$ = "BACK" THEN
  302.             UIPop 1
  303.             GOTO GETPATHL2
  304.  
  305.         ELSE
  306.             UIPop 1
  307.             GOSUB ASKQUIT
  308.             GOTO GETPATH2
  309.         END IF  'User responses for already exists dialog
  310.  
  311.     END IF  'If directory already exists
  312. '$ENDIF MENTORCD
  313.  
  314.     Install
  315.  
  316.  
  317. QUIT:
  318.     ON ERROR GOTO ERRQUIT
  319.  
  320.  
  321.     IF ERR = 0 THEN
  322.         IF SCRWID% = 640 THEN
  323.             dlg% = EXITSUCCESSX
  324.         ELSE
  325.             dlg% = EXITSUCCESS
  326.         END IF
  327.  
  328.  
  329.     ELSEIF ERR = STFQUIT THEN
  330.         IF SCRWID% = 640 THEN
  331.             dlg% = EXITQUITX
  332.         ELSE
  333.             dlg% = EXITQUIT
  334.         END IF
  335.     ELSE
  336.         'MsgBox "" + ERROR$(ERR)
  337.         IF SCRWID% = 640 THEN
  338.             dlg% = EXITFAILUREX
  339.         ELSE
  340.             dlg% = EXITFAILURE
  341.         END IF
  342.     END IF
  343. QUITL1:
  344.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfoDlgProc", 0, "")
  345.     IF sz$ = "REACTIVATE" THEN
  346.         GOTO QUITL1
  347.     ELSE
  348.         UIPop 1
  349.         CheckInstallVFW
  350.     END IF
  351.     UIPop 1
  352.     'SrcDir$ = GetSymbolValue("STF_SRCDIR")
  353.     'runLine$ = SrcDir$ + "DELDLL.EXE"
  354.     'RUN runLine$, NOWAIT
  355.     END
  356.  
  357. ERRQUIT:
  358.     i% = DoMsgBox("Setup sources were corrupted, please call Midisoft Technical Support", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  359.     END
  360.  
  361.  
  362.  
  363. BADPATH:
  364.     IF scrwid% = 640 THEN
  365.         sz$ = UIStartDlg(CUIDLL$, BADPATHX, "FInfoDlgProc", APPHELP, HELPPROC$)
  366.     ELSE
  367.         sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfoDlgProc", APPHELP, HELPPROC$)
  368.     END IF
  369.  
  370.  
  371.     IF sz$ = "REACTIVATE" THEN
  372.         GOTO BADPATH
  373.     END IF
  374.     UIPop 1
  375.     RETURN
  376.  
  377.  
  378.  
  379. ASKQUIT:
  380.     IF scrwid% = 640 THEN
  381.         sz$ = UIStartDlg(CUIDLL$, ASKQUITX, "FQuitDlgProc", APPHELP, HELPPROC$)
  382.     ELSE
  383.         sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", APPHELP, HELPPROC$)
  384.     END IF
  385.  
  386.  
  387.  
  388.     IF sz$ = "EXIT" THEN
  389.         UIPop 5
  390.         ERROR STFQUIT
  391.     ELSEIF sz$ = "REACTIVATE" THEN
  392.         GOTO ASKQUIT
  393.     ELSE
  394.         UIPop 1
  395.     END IF
  396.     RETURN
  397.  
  398.  
  399.  
  400. '**
  401. '** Purpose:
  402. '**     Builds the copy list and performs all installation operations.
  403. '** Arguments:
  404. '**     none.
  405. '** Returns:
  406. '**     none.
  407. '*************************************************************************
  408. SUB Install STATIC
  409.  
  410.     'hWnd% = HwndFrame()
  411.     'DrawBitmap hWnd%, "Setup1"
  412.  
  413.     'Source Directories
  414.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  415.     ROOTDIR$ = SrcDir$
  416.     MIDIDIR$ = MakePath (ROOTDIR$, "MIDI")
  417.     BMPDIR$ = MakePath (ROOTDIR$, "BITMAPS")
  418.     CONTROLSDIR$ = MakePath (ROOTDIR$, "CONTROLS")
  419.     FONTSDIR$ = MakePath(ROOTDIR$, "FONTS")
  420.  
  421.     CreateDir DEST$, cmoNone
  422.     winSysDir$ = GetWindowsSysDir()
  423.     winDir$ = GetWindowsDir()
  424.  
  425.     'check for font files
  426.     if EXISTS(winSysDir$ + "CGBSWFTE.FOT") then
  427.     else
  428.         AddSectionFilesToCopyList "F1", FONTSDIR$, winSysDir$
  429.         writeString% = WritePrivateProfileString("fonts", "Garamand Classic Bold (TrueType)","CGBSWFTE.FOT", "win.ini")
  430.     end if
  431.  
  432.     if EXISTS(winSysDir$ + "CGRSWFTE.FOT") then
  433.     else
  434.         AddSectionFilesToCopyList "F2", FONTSDIR$, winSysDir$
  435.         writeString% = WritePrivateProfileString("fonts", "Garamand Classic Book (TrueType)","CGRSWFTE.FOT", "win.ini")
  436.     end if
  437.  
  438.     if EXISTS(winSysDir$ + "FUASWFTE.FOT") then
  439.     else
  440.         AddSectionFilesToCopyList "F3", FONTSDIR$, winSysDir$
  441.         writeString% = WritePrivateProfileString("fonts", "Futuri (TrueType)","FUASWFTE.FOT", "win.ini")
  442.     end if
  443.  
  444.     if EXISTS(winSysDir$ + "FUBSWFTE.FOT") then
  445.     else
  446.         AddSectionFilesToCopyList "F4", FONTSDIR$, winSysDir$
  447.         writeString% = WritePrivateProfileString("fonts", "Futuri Bold (TrueType)","FUBSWFTE.FOT", "win.ini")
  448.     end if
  449.  
  450.     if EXISTS(winSysDir$ + "GAASWFTE.FOT") then
  451.     else
  452.         AddSectionFilesToCopyList "F5", FONTSDIR$, winSysDir$
  453.         writeString% = WritePrivateProfileString("fonts", "Garamand (TrueType)","GAASWFTE.FOT", "win.ini")
  454.     end if
  455.  
  456.     if EXISTS(winSysDir$ + "GABSWFTE.FOT") then
  457.     else
  458.         AddSectionFilesToCopyList "F6", FONTSDIR$, winSysDir$
  459.         writeString% = WritePrivateProfileString("fonts", "Garamand Bold (TrueType)","GABSWFTE.FOT", "win.ini")
  460.     end if
  461.  
  462.     if EXISTS(winSysDir$ + "GCASWFTE.FOT") then
  463.     else
  464.         AddSectionFilesToCopyList "F7", FONTSDIR$, winSysDir$
  465.         writeString% = WritePrivateProfileString("fonts", "Garamand Condensed (TrueType)","GCASWFTE.FOT", "win.ini")
  466.     end if
  467.  
  468.     if EXISTS(winSysDir$ + "GCBSWFTE.FOT") then
  469.     else
  470.         AddSectionFilesToCopyList "F8", FONTSDIR$, winSysDir$
  471.         writeString% = WritePrivateProfileString("fonts", "Garamand Condensed Bold (TrueType)","GCBSWFTE.FOT", "win.ini")
  472.     end if
  473.  
  474.     if EXISTS(winSysDir$ + "CGBSWFTE.TTF") then
  475.     else
  476.         AddSectionFilesToCopyList "T1", FONTSDIR$, winSysDir$
  477.     end if
  478.  
  479.     if EXISTS(winSysDir$ + "CGRSWFTE.TTF") then
  480.     else
  481.         AddSectionFilesToCopyList "T2", FONTSDIR$, winSysDir$
  482.     end if
  483.  
  484.     if EXISTS(winSysDir$ + "FUASWFTE.TTF") then
  485.     else
  486.         AddSectionFilesToCopyList "T3", FONTSDIR$, winSysDir$
  487.     end if
  488.  
  489.     if EXISTS(winSysDir$ + "FUBSWFTE.TTF") then
  490.     else
  491.         AddSectionFilesToCopyList "T4", FONTSDIR$, winSysDir$
  492.     end if
  493.  
  494.     if EXISTS(winSysDir$ + "GAASWFTE.TTF") then
  495.     else
  496.         AddSectionFilesToCopyList "T5", FONTSDIR$, winSysDir$
  497.     end if
  498.  
  499.     if EXISTS(winSysDir$ + "GABSWFTE.TTF") then
  500.     else
  501.         AddSectionFilesToCopyList "T6", FONTSDIR$, winSysDir$
  502.     end if
  503.  
  504.     if EXISTS(winSysDir$ + "GCASWFTE.TTF") then
  505.     else
  506.         AddSectionFilesToCopyList "T7", FONTSDIR$, winSysDir$
  507.     end if
  508.  
  509.     if EXISTS(winSysDir$ + "GCBSWFTE.TTF") then
  510.     else
  511.         AddSectionFilesToCopyList "T8", FONTSDIR$, winSysDir$
  512.     end if
  513.  
  514.     AddSectionFilesToCopyList "Controls", CONTROLSDIR$, winSysDir$
  515.     AddSectionFilesToCopyList "DLLs", CONTROLSDIR$, DEST$
  516.     AddSectionFilesToCopyList "Windows", ROOTDIR$, winDir$
  517.     AddSectionFilesToCopyList "Mentor", ROOTDIR$, DEST$
  518.  
  519.     ClearBillboardList
  520.  
  521.     AddToBillboardList CUIDLL$, INFO1, "FModelessDlgProc", 50
  522.     AddToBillboardList CUIDLL$, INFO2, "FModelessDlgProc", 50
  523.  
  524.     CopyFilesInCopyList
  525.  
  526.     hDC% = GetDC(hWnd%)
  527.     sm& = SendMessage(hWnd%, WM_ERASEBKGND, hDC%, 0)
  528.     sm& = SendMessage(hWnd%, WM_PAINT, 0, 0)
  529.  
  530.     ICONPATH$ = MakePath(SrcDir$,"MENTOR.ICO")
  531.     QUICKICONPATH$ = MakePath(SrcDir$,"QUIKTOUR.ICO")
  532.  
  533.     CreateProgmanGroup "Midisoft« Music Mentor", "", cmoNone
  534.     ShowProgmanGroup  "Midisoft« Music Mentor", 1, cmoNone
  535.     CreateProgmanItem "Midisoft« Music Mentor", "Midisoft« Music Mentor Maestro Edition", DEST$ + "\MENTOR.EXE", ICONPATH$, cmoOverwrite
  536.     CreateProgmanItem "Midisoft« Music Mentor", "The Maestro's Quick Tour", SrcDir$ + "quiktour\QUIKTOUR.EXE", QUICKICONPATH$, cmoOverwrite
  537.  
  538.     prog$ = "PROGRAM"
  539.     basePath$ = "BasePath"
  540.     winDir$ = winDir$ + "mentor2.ini"
  541.     writeString% = WritePrivateProfileString(prog$, basePath$, SrcDir$, winDir$)
  542.  
  543.     addFont = AddFontResource("CGBSWFTE.FOT")
  544.     addFont = AddFontResource("CGRSWFTE.FOT")
  545.     addFont = AddFontResource("GAASWFTE.FOT")
  546.     addFont = AddFontResource("GABSWFTE.FOT")
  547.     addFont = AddFontResource("GCASWFTE.FOT")
  548.     addFont = AddFontResource("GCBSWFTE.FOT")
  549.     addFont = AddFontResource("FUASWFTE.FOT")
  550.     addFont = AddFontResource("FUBSWFTE.FOT")
  551.  
  552.     fontChange = SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0)
  553.  
  554. END SUB
  555.  
  556. SUB CheckInstallVFW STATIC
  557.     hWnd% = HwndFrame()
  558.     hDC% = GetDC(hWnd%)
  559.     sm& = SendMessage(hWnd%, WM_ERASEBKGND, hDC%, 0)
  560.     sm& = SendMessage(hWnd%, WM_PAINT, 0, 0)
  561.  
  562.     sz$ = UIStartDlg(CUIDLL$, INSTALLVFW, "FInfoDlgProc", APPHELP, HELPPROC$)
  563.     if sz$ = "CONTINUE" then
  564.         UIPop 1
  565.         'run Video for Windows Setup
  566.         SrcDir$ = GetSymbolValue("STF_SRCDIR")
  567.         runLine$ = SrcDir$ + "_SETUP.EXE"
  568.         RUN runLine$, NOWAIT
  569.         '4exec% = WinExec(runLine$, 1) 'SW_SHOWNORMAL
  570.         'END
  571.     else
  572.         UIPop 1
  573.         'END
  574.     end if
  575. END SUB
  576.  
  577.  
  578.  
  579. '**
  580. '** Purpose:
  581. '**     Appends a file name to the end of a directory path,
  582. '**     inserting a backslash character as needed.
  583. '** Arguments:
  584. '**     szDir$  - full directory path (with optional ending "\")
  585. '**     szFile$ - filename to append to directory
  586. '** Returns:
  587. '**     Resulting fully qualified path name.
  588. '*************************************************************************
  589. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  590.     IF szDir$ = "" THEN
  591.         MakePath = szFile$
  592.     ELSEIF szFile$ = "" THEN
  593.         MakePath = szDir$
  594.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  595.         MakePath = szDir$ + szFile$
  596.     ELSE
  597.         MakePath = szDir$ + "\" + szFile$
  598.     END IF
  599. END FUNCTION
  600.  
  601.  
  602. '************************************************************************
  603. '   CreateProgGroup
  604. '   This subroutine creates a program manager group if the user elects
  605. '   to run mentor from the cd-rom
  606. SUB CreateProgGroup STATIC
  607.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  608.     RUNDEST$ = MakePath(SrcDir$, "RUNTIME")
  609.     ICONPATH$ = MakePath(RUNDEST$,"MENTOR.ICO")
  610.     CreateIniKeyValue "Win.ini", "Extensions", "mtr", MakePath(DEST$,"TBOOK.EXE"), cmoOverwrite
  611.     CreateProgmanGroup "Music Mentor CD-ROM Edition", "", cmoNone
  612.     ShowProgmanGroup  "Music Mentor CD-ROM Edition", 1, cmoNone
  613.     CreateProgmanItem "Music Mentor CD-ROM Edition", "Music Mentor CD-ROM Edition", MakePath(RUNDEST$,"TBOOK.EXE") + " " + SrcDir$ + "MENTOR.MTR", ICONPATH$, cmoOverwrite
  614. END SUB
  615.  
  616. SUB ShowBackground (hwnd%) STATIC
  617.     SetWindowPos hwnd%, 1, 0, 0, 640, 480, SWP_SHOWWINDOW
  618. END SUB
  619.